Puzzles Reasoning